ADLライブラリ - ソース比較(1)ADLライブラリのMWL(Main Window Library)を使った場合と使わない場合のソースの比較を紹介します。 【ADLを使わない場合】 #include<windows.h> LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam); int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow) { WNDCLASS wc; MSG msg; HWND hWnd; wc.style = CS_HREDRAW | CS_VREDRAW; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon(NULL, IDI_APPLICATION); wc.hCursor = LoadCursor(NULL, IDC_ARROW); wc.hBackground = (HBRUSH)(COLOR_WINDOW + 1); wc.lpszMenuName = NULL; wc.lpszClassName = "TEST"; if(!RegisterClass(&wc)) return -1; hWnd = CreateWindow("TEST", "TEST", WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstance, NULL); ShowWindow(hWnd, nCmdShow); UpdateWindow(hWnd); while(GetMessage(&msg, NULL, 0, 0)) { TranslateMessage(&msg); DispatchMessage(&msg); } return msg.wParam; } LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { case WM_DESTROY: PostQuitMessage(0); break; default: return DefWindowProc(hWnd, uMsg, wParam, lParam); } return 0; } 【ADLを使わない場合】 #include<windows.h> #include<ADL10.h> int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPSTR lpszCmdLine, int nCmdShow) { LPMWL lpmwl; lpmwl = MWLCreate(hInstance, "TEST", "TEST"); MWLRegisterClass(lpmwl); MWLShowWindow(lpmwl); MWLLoop(lpmwl); MWLRelease(lpmwl); return 0; } 行数だけで比較するとかなり、シンプルになっていると思う。 ジャンル別一覧
人気のクチコミテーマ
|